amelia's notes marks:
Content - 5/5
Creativity - 4/5
Structure - 5/5
Collaboration - 5/5
Total = 19/20
(will round all wiki-marks to 10% at the end of the semester)
APPLICATION OF PROLOG TODAY
1
INTRODUCTION
2
APPLICATIONS
3
REFERENCES
4
AUTHOR
INTRODUCTION
History
Prolog programming language was created by Robert A.Kowalski at Edinburgh University, London and Alain Colmerauer at the University of Marseilles, France in the early 1970s. Research done by Kowalski on the subject of automated deduction in 1972 has led towards development with Colmerauer about the use of formal logic as a programming language. This research provided the thereotical framework, while Colmerauer's develop the programming language Prolog. Colmerauer and Phillipe Roussel built the first Prolog intrepreter, and David Warren at the University of Edinburgh built the first Prolog compiler (for the DEC-10 machine).
Clocksin and Mellish at the University of Edinburgh continued their masterpiece, and today their version called "C & M syntax" or "Edinburgh syntax" is accepted as the standard. Prolog stands for Programmation en Logique . It is a logic language that is particularly used by programs that use non-numeric objects. For this reason it is a frequently used language in Artificial Intelligence where manipulation of symbols is a common task. Today, Most commercial implementations of Prolog now use this same Edinburgh Prolog syntax
Understanding Prolog
Prolog differs from the most common programmings languages because it is declarative language. Traditional programming languages are said to be procedural. This means that the programmer specify how to solve a problem.
In declarative languages the programmers only give the problem and the language find himself how to solve the problem. Although it can be, and often is, used by itself, Prolog complements traditional languages when used together in the same application.
Example of procedural situation:
mix ingredients;
beat until smooth;
bake for 20 minutes in a moderate oven;
remove tin from oven;
put on bench;
close oven;
turn off oven;
This is written as declarative languages which the programmer only states what the problem is and the language system will solve the problem itself.
It is merely by giving facts to the program, query the program to analyze and give us the solution.
APPLICATIONS
Practical Application of Prolog
By Al Roth (Al Roth is a freelance writer and group secretary of the Prolog Vendors Group)
Source: AI Expert, April 1993"Prolog is no longer confined to research laboratories, but is now considered to be a powerful tool for the development of commercial applications." Prolog TechnologiesProlog is nowadays not as trendy as it used to be, although at one time it was the main competitor of Lisp (at least for AI-people living in Europe). However, it is often said that it is an advantage to learn Lisp even if it is just for the learning experience. A.I is a one of good example for showing Prolog applications.There are some application of Prolog in A.I which applied today :
Entertainment & Games
You can buy machines that can play master level chess for a few hundred dollars. There is some AI in them, but they play well against people mainly through brute force computation--looking at hundreds of thousands of positions. To beat a world champion by brute force and known reliable heuristics requires being able to look at 200 million positions per second.
Natural Language Processing
Just getting a sequence of words into a computer is not enough. Parsing sentences is not enough either. The computer has to be provided with an understanding of the domain the text is about, and this is presently possible only for very limited domains.
Artificial intelligence in robotic
This robot was developed by Ford.His name was Hank and he could actually understand what you were saying and respond to you.
Computer Vision
Detects Foreign Objects in Processed Poultry and Food Products
The world is composed of three-dimensional objects, but the inputs to the human eye and computers' TV cameras are two dimensional. Some useful programs can work solely in two dimensions, but full computer vision requires partial three-dimensional information that is not just a set of two-dimensional views. At present there are only limited ways of representing three-dimensional information directly, and they are not as good as what humans evidently use.
Examples of applications of computer vision systems include systems for:
Controlling processes
Detecting events
Organizing information
Modeling objects or environments
Interaction
Relation between computer vision and various other fields
Another application of prolog is The Youbet Architecture. The Youbet architecture is website(http://racing.youbet.com/) that provides a real-time racing and handicapping services for established horse racing costomers. This site can be access by 60 countries and provides many services to the customer such as infromation product sales,live audio/video and soon. This site architecture using the prolog rule base to performs it functions. This using the N-Tier Architecture to connect the web browsers through a session layers, databased and the vendor systems. The vendor interchange, and the codification of business rule are all implemented through messaging middleware of the application tier. A java based application server with an integrated Prolog rule base will perform this functions. The process of interfacing the Prolog rule base with Java very simple using Prolog implementation such as Amzi! Prolog + Logic Server. When the Amzi.ls package is imported into the Java application, we can consult the Prolog files. We also can optimize or extend the Prolog by using mapping Java methods to extended predicates, which called from the Prolog code.
Figure 1: N-Tier Architecture
Figure 2: Application Server Architecture
Expert Sytem
A ``knowledge engineer'' interviews experts in a certain domain and tries to embody their knowledge in a computer program for carrying out some task. How well this works depends on whether the intellectual mechanisms required for the task are within the present state of AI. When this turned out not to be so, there were many disappointing results. One of the first expert systems was MYCIN in 1974, which diagnosed bacterial infections of the blood and suggested treatments. It did better than medical students or practicing doctors, provided its limitations were observed. Namely, its ontology included bacteria, symptoms, and treatments and did not include patients, doctors, hospitals, death, recovery, and events occurring in time. Its interactions depended on a single patient being considered. Since the experts consulted by the knowledge engineers knew about patients, doctors, death, recovery, etc., it is clear that the knowledge engineers forced what the experts told them into a predetermined framework. In the present state of AI, this has to be true. The usefulness of current expert systems depends on their users having common sense.
Heuristic Classification
One of the most feasible kinds of expert system given the present knowledge of AI is to put some information in one of a fixed set of categories using several sources of information. An example is advising whether to accept a proposed credit card purchase. Information is available about the owner of the credit card, his record of payment and also about the item he is buying and about the establishment from which he is buying it (e.g., about whether there have been previous credit card frauds at this establishment).
marks:
Content - 5/5
Creativity - 4/5
Structure - 5/5
Collaboration - 5/5
Total = 19/20
(will round all wiki-marks to 10% at the end of the semester)
APPLICATION OF PROLOG TODAY
INTRODUCTION
History
Prolog programming language was created by Robert A.Kowalski at Edinburgh University, London and Alain Colmerauer at the University of Marseilles, France in the early 1970s. Research done by Kowalski on the subject of automated deduction in 1972 has led towards development with Colmerauer about the use of formal logic as a programming language. This research provided the thereotical framework, while Colmerauer's develop the programming language Prolog. Colmerauer and Phillipe Roussel built the first Prolog intrepreter, and David Warren at the University of Edinburgh built the first Prolog compiler (for the DEC-10 machine).
Clocksin and Mellish at the University of Edinburgh continued their masterpiece, and today their version called "C & M syntax" or "Edinburgh syntax" is accepted as the standard. Prolog stands for Programmation en Logique . It is a logic language that is particularly used by programs that use non-numeric objects. For this reason it is a frequently used language in Artificial Intelligence where manipulation of symbols is a common task. Today, Most commercial implementations of Prolog now use this same Edinburgh Prolog syntax
Understanding Prolog
Prolog differs from the most common programmings languages because it is declarative language. Traditional programming languages are said to be procedural. This means that the programmer specify how to solve a problem.In declarative languages the programmers only give the problem and the language find himself how to solve the problem. Although it can be, and often is, used by itself, Prolog complements traditional languages when used together in the same application.
Example of procedural situation:
mix ingredients;
beat until smooth;
bake for 20 minutes in a moderate oven;
remove tin from oven;
put on bench;
close oven;
turn off oven;
This is written as declarative languages which the programmer only states what the problem is and the language system will solve the problem itself.
It is merely by giving facts to the program, query the program to analyze and give us the solution.
APPLICATIONS
Practical Application of PrologBy Al Roth
(Al Roth is a freelance writer and group secretary of the Prolog Vendors Group)
Source: AI Expert, April 1993"Prolog is no longer confined to research laboratories, but is now considered to be a powerful tool for the development of commercial applications."
Prolog TechnologiesProlog is nowadays not as trendy as it used to be, although at one time it was the main competitor of Lisp (at least for AI-people living in Europe). However, it is often said that it is an advantage to learn Lisp even if it is just for the learning experience. A.I is a one of good example for showing Prolog applications.There are some application of Prolog in A.I which applied today :
Entertainment & Games
You can buy machines that can play master level chess for a few hundred dollars. There is some AI in them, but they play well against people mainly through brute force computation--looking at hundreds of thousands of positions. To beat a world champion by brute force and known reliable heuristics requires being able to look at 200 million positions per second.
Natural Language Processing
Just getting a sequence of words into a computer is not enough. Parsing sentences is not enough either. The computer has to be provided with an understanding of the domain the text is about, and this is presently possible only for very limited domains.
Artificial intelligence in robotic
This robot was developed by Ford.His name was Hank and he could actually understand what you were saying and respond to you.
Computer Vision
The world is composed of three-dimensional objects, but the inputs to the human eye and computers' TV cameras are two dimensional. Some useful programs can work solely in two dimensions, but full computer vision requires partial three-dimensional information that is not just a set of two-dimensional views. At present there are only limited ways of representing three-dimensional information directly, and they are not as good as what humans evidently use.
Examples of applications of computer vision systems include systems for:
Another application of prolog is The Youbet Architecture. The Youbet architecture is website(http://racing.youbet.com/) that provides a real-time racing and handicapping services for established horse racing costomers. This site can be access by 60 countries and provides many services to the customer such as infromation product sales,live audio/video and soon. This site architecture using the prolog rule base to performs it functions. This using the N-Tier Architecture to connect the web browsers through a session layers, databased and the vendor systems. The vendor interchange, and the codification of business rule are all implemented through messaging middleware of the application tier. A java based application server with an integrated Prolog rule base will perform this functions. The process of interfacing the Prolog rule base with Java very simple using Prolog implementation such as Amzi! Prolog + Logic Server. When the Amzi.ls package is imported into the Java application, we can consult the Prolog files. We also can optimize or extend the Prolog by using mapping Java methods to extended predicates, which called from the Prolog code.
Figure 1: N-Tier Architecture
Figure 2: Application Server Architecture
Expert Sytem
A ``knowledge engineer'' interviews experts in a certain domain and tries to embody their knowledge in a computer program for carrying out some task. How well this works depends on whether the intellectual mechanisms required for the task are within the present state of AI. When this turned out not to be so, there were many disappointing results. One of the first expert systems was MYCIN in 1974, which diagnosed bacterial infections of the blood and suggested treatments. It did better than medical students or practicing doctors, provided its limitations were observed. Namely, its ontology included bacteria, symptoms, and treatments and did not include patients, doctors, hospitals, death, recovery, and events occurring in time. Its interactions depended on a single patient being considered. Since the experts consulted by the knowledge engineers knew about patients, doctors, death, recovery, etc., it is clear that the knowledge engineers forced what the experts told them into a predetermined framework. In the present state of AI, this has to be true. The usefulness of current expert systems depends on their users having common sense.
Heuristic Classification
One of the most feasible kinds of expert system given the present knowledge of AI is to put some information in one of a fixed set of categories using several sources of information. An example is advising whether to accept a proposed credit card purchase. Information is available about the owner of the credit card, his record of payment and also about the item he is buying and about the establishment from which he is buying it (e.g., about whether there have been previous credit card frauds at this establishment).
Other Applications
REFERENCES
1. http://www.scribd.com/doc/7349340/Prolog-Application-on-Natuaral-Language-Processing-Mehedi2. http://www.cse.unsw.edu.au/~billw/cs9414/notes/prolog/intro.html
3. http://www.ddj.com/architect/184405220
4. http://gtresearchnews.gatech.edu/newsrelease/plastic.htm
5. http://www.acm.org/crossroads/xrds10-2/robotcog.html
6. http://www.amzi.com/articles/youbet.htm6.
AUTHORS
Noor Fadhlihana Bt Muhamad AsralNorsulianaeliani Abdul Wahab
Nur Aimi Binti Abdullah Sani
Izzah Izzati Hamzah
Nurashidah Rosman